package com.wdb007.venus.svc.dal.user.dao;

import java.util.List;

import com.wdb007.venus.svc.dal.user.model.UserReadStatisticsDO;
import com.wdb007.venus.svc.dal.user.model.WeekReadRankDO;

public interface UserReadStatisticsDAO {
    
	int remove(String id);

    int insert(UserReadStatisticsDO record);

    UserReadStatisticsDO get(String id);

    int update(UserReadStatisticsDO record);
    
    int updateByPrimaryKey(UserReadStatisticsDO record);
    
    UserReadStatisticsDO getByUserId(Long userId);
    
    List<UserReadStatisticsDO> getTotalRecordListFromOrderTrans();
	
	List<UserReadStatisticsDO> getMonthRecordListFromOrderTrans();
	
	List<UserReadStatisticsDO> getWeekRecordListFromOrderTrans();

	UserReadStatisticsDO getUserTotalRecordFromOrderTrans(Long userId);
	
	UserReadStatisticsDO getUserMonthRecordFromOrderTrans(Long userId);
	
	UserReadStatisticsDO getUserWeekRecordFromOrderTrans(Long userId);
	
	List<WeekReadRankDO> getWeekReadRankList(); 
	
	int count();
	
	WeekReadRankDO getUserInfo(Long userId);
	
	WeekReadRankDO getPersonInWeekRank(Long userId);
	
	List<UserReadStatisticsDO> list();
}
